﻿using MengLin.OOP.DesignPattern.WMS_LC.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MengLin.OOP.DesignPattern.WMS_LC.Implements
{
    /// <summary>
    /// 可变部分
    /// a.传感器可变的(可变的：增加传感器，换个传感器)
    /// b.读取速率可变的(可变的：我现在想10分钟读取1次温度)
    /// 版本2调度器做了2件事
    /// 1.进行调度
    /// 2.读取温度传感器/气压传感器得到监测值(直接调用关系)
    /// ~3.把读取到的监测值显示到用户界面上(这个工作由传感器内部去做了)~
    /// </summary>
    /// <returns></returns>
    public class VerionTwoScheduler : AbstractScheduler
    {
        /// <summary>
        /// 每10ms调度1次
        /// </summary>
        public override void Tic()
        {
            if (TicCount != 0)
            {
                //每1分钟读取温度(如果以后只是想改传感器的读取速率，那么这里就得修改)
                if (TicCount % 6 == 0)
                {
                    TemperatureSensor.Check();//读取温度(直接调用关系)
                }

                //每5分钟读取气压(如果以后只是想改传感器的读取速率，那么这里就得修改)
                if (TicCount % 30 == 0)
                {
                    double barometricPressure = BarometricPressureSensor.Read();//读取气压(直接调用关系)
                }

                //如果这里还有风速传感器
            }
            TicCount++;
        }
    }
}
